package com.wzdigit.wms.basic.domain.qms;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;

import java.math.BigDecimal;
import java.util.Date;
import com.wzdigit.framework.orm.model.BasicDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 检验单
 * </p>
 *
 * @author 
 * @since 2021-07-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("QMS_IQC")
@KeySequence(value = "QMS_OQC_SEQ", clazz = Integer.class)
public class QmsIqc extends BasicDomain {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "OQC_ID", type = IdType.INPUT)
    private Integer oqcId;

    /**
     * 检验单号
     */
    @TableField("OQC")
    private String oqc;

    /**
     * 检验单状态
     */
    @TableField("STATUS")
    private Integer status;

    /**
     * 工单ID
     */
    @TableField("WORK_ORDER_ID")
    private Integer workOrderId;

    /**
     * 工单号
     */
    @TableField("WORK_ORDER_CODE")
    private String workOrderCode;

    /**
     * 工单生产数量
     */
    @TableField("WO_QTY")
    private BigDecimal woQty;

    /**
     * 产品ID
     */
    @TableField("PRODUCT_ID")
    private Integer productId;

    /**
     * 产品编码
     */
    @TableField("PRODUCT_CODE")
    private String productCode;

    /**
     * 车间ID
     */
    @TableField("WORK_SHOP_ID")
    private Integer workShopId;

    /**
     * 车间编码
     */
    @TableField("WORK_SHOP_CODE")
    private String workShopCode;

    /**
     * 线体ID
     */
    @TableField("LINE_ID")
    private Integer lineId;

    /**
     * 线体编码
     */
    @TableField("LINE_CODE")
    private String lineCode;

    /**
     * 班次ID
     */
    @TableField("WORK_SHIFT_ID")
    private Integer workShiftId;

    /**
     * 班次编码
     */
    @TableField("WORK_SHIFT_CODE")
    private String workShiftCode;

    /**
     * 检验方式ID
     */
    @TableField("INSP_MODE_ID")
    private Integer inspModeId;

    /**
     * 检验方式编码
     */
    @TableField("INSP_MODE_CODE")
    private String inspModeCode;

    /**
     * 送检方式
     */
    @TableField("SUBMIT_INSP_MODE")
    private Integer submitInspMode;

    /**
     * 送检产品数
     */
    @TableField("SUBMIT_INSP_QTY")
    private BigDecimal submitInspQty;

    /**
     * 检验产品数
     */
    @TableField("INSP_QTY")
    private BigDecimal inspQty;

    /**
     * 不合格产品数
     */
    @TableField("FAIL_QTY")
    private BigDecimal failQty;

    /**
     * 产品名称
     */
    @TableField("PRODUCT_NAME")
    private String productName;

    /**
     * 工单数量
     */
    @TableField("WORK_ORDER_COUNT")
    private BigDecimal workOrderCount;

    /**
     * 检验类型
     */
    @TableField("INSP_STD_TYPE")
    private Integer inspStdType;

    /**
     * 是否主管确认
     */
    @TableField("IS_MANAGER_CONFIRM")
    private Integer isManagerConfirm;

    /**
     * 是否二次判检
     */
    @TableField("IS_SECOND_CHECK")
    private Integer isSecondCheck;

    /**
     * 检验表单ID
     */
    @TableField("INSPITEM_TABLE_ID")
    private Integer inspitemTableId;

    /**
     * 检验开始时间
     */
    @TableField("INSP_BEGIN_TIME")
    private Date inspBeginTime;

    /**
     * 检验结束时间
     */
    @TableField("INSP_END_TIME")
    private Date inspEndTime;

    /**
     * 联机工单号
     */
    @TableField("ONLINE_WORKORDER_NO")
    private String onlineWorkorderNo;

    /**
     * 是否免检
     */
    @TableField("IS_WITHOUT_CHECK")
    private Integer isWithoutCheck;

    /**
     * 报检状态
     */
    @TableField("INSPECTION_STATUS")
    private Integer inspectionStatus;

    /**
     * 报检时间
     */
    @TableField("INSPECTION_TIME")
    private Date inspectionTime;

    /**
     * 报检人
     */
    @TableField("INSPECTION_PERSON")
    private String inspectionPerson;

    /**
     * SAP单号
     */
    @TableField("SAP_ORDER_NO")
    private String sapOrderNo;

    /**
     * 报检备注信息
     */
    @TableField("INSPECTION_REMARK")
    private String inspectionRemark;

    /**
     * 向SAP报检返回的生产订单
     */
    @TableField("SAP_AUFNR")
    private String sapAufnr;

    /**
     * 向SAP报检返回的返回值:S/E
     */
    @TableField("SAP_RESULT")
    private String sapResult;

    /**
     * 向SAP报检返回的消息
     */
    @TableField("SAP_MSG")
    private String sapMsg;

    /**
     * 向SAP报检返回的入库凭证号
     */
    @TableField("SAP_MBLNR1")
    private String sapMblnr1;

    /**
     * 向SAP报检返回的调拨凭证号
     */
    @TableField("SAP_MBLNR2")
    private String sapMblnr2;

    /**
     * 拉取下线完工的工厂/组织号
     */
    @TableField("SAP_WERKS")
    private String sapWerks;

    /**
     * 上次检验单的状态
     */
    @TableField("LAST_STATUS")
    private Integer lastStatus;

    /**
     * 销售订单
     */
    @TableField("SO")
    private String so;

    /**
     * 工厂ID
     */
    @TableField("FACTORY_ID")
    private Integer factoryId;

    /**
     * 工厂编码
     */
    @TableField("FACTORY_CODE")
    private String factoryCode;

    /**
     * 送货单号
     */
    @TableField("DELIVERY_NO")
    private String deliveryNo;

    /**
     * 供应商编码
     */
    @TableField("VENDOR_CODE")
    private String vendorCode;

    /**
     * 供应商ID
     */
    @TableField("VENDOR_ID")
    private Integer vendorId;

    /**
     * 物料编码
     */
    /*@TableField("SKU_CODE")
    private String skuCode;*/

    /**
     * 物料ID
     */
    /*@TableField("SKU_ID")
    private Integer skuId;*/

    /**
     * 是否应急：是 1 , 否 0
     */
    @TableField("IS_EMERGENCY")
    private Integer isEmergency;

    /**
     * 检验员id
     */
    @TableField("CHECKER_ID")
    private Integer checkerId;

    //组织代码
    @TableField("FACTORY")
    private String  factory;

}
